package me.zhengjie.cron;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.zhengjie.modbusTCP.PalletTCP;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

/**
 * @Author: xinglin
 * @CreateTime: 2024-08-14
 * @Description: 回流线定时查询
 * @Version: 1.0
 */

@Slf4j
@Component
@RequiredArgsConstructor
public class PalletTCPCron {

    private final PalletTCP palletTCP;

    private static final Logger ppLog = LoggerFactory.getLogger("pp");



//    //pp入库
//    @Scheduled(cron = "2/* * * * * ?")
//    private void listenInBoundPlc() {
//        List<PallectCodePLCResp> pallectCodeList = new ArrayList<>();
//
//        // 使用数组存储入口的配置
//        int[] entrances = {
//                RegisterAddressConfig.p2_1Entrance,
//                RegisterAddressConfig.p2_4Entrance,
//                RegisterAddressConfig.p2_5Entrance,
//                RegisterAddressConfig.p2_6Entrance,
//                RegisterAddressConfig.p2_14Entrance,
//                RegisterAddressConfig.p2_15Entrance,
//                RegisterAddressConfig.p2_16Entrance,
//                RegisterAddressConfig.p2_17Entrance,
//                RegisterAddressConfig.p2_18Entrance
//        };
//
//        // 使用对应的站点代码
//        String[] stationCodes = {
//                "station1", "station2", "station2", "station3",
//                "station4", "station5", "station6", "station6", "station7"
//        };
//
//        for (int i = 0; i < entrances.length; i++) {
//            try {
//                String palletCode = palletTCP.readHoldingRegistersString(entrances[i]);
//                // 如果没读到码
//                if (palletCode == null) {
//                    // 回报没有读到码
//                    palletTCP.write(entrances[i], 0);
//                } else {
//                    // 将载盘和pp绑定
//                    PallectCodePLCResp pallectCodePLCResp = new PallectCodePLCResp();
//                    pallectCodePLCResp.setPallectCode(palletCode);
//                    pallectCodePLCResp.setStationCode(stationCodes[i]);
//                    pallectCodeList.add(pallectCodePLCResp);
//                }
//            } catch (Exception e) {
//                ppLog.error("入口 {} 定时器出错，错误原因：{}", entrances[i], e.getMessage());
//            }
//        }
//
//        // 这里可以将 pallectCodeList 返回给前端，或者进行其他处理
//        // 例如：return pallectCodeList;
//        ppLog.info("获取到的载盘信息：{}", pallectCodeList);
//    }
//
//
//






}
